function call(func, obj, ...args) {
    if (obj === undefined || obj === null) {
        return globalThis
    }
    obj.temp = func
    let res = obj.temp(...args)
    delete obj.temp
    return res
}